<html>
<head><meta charset="utf-8"><title>chalk-rustc integration discussion · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html">chalk-rustc integration discussion</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="161180233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180233">(Mar 19 2019 at 19:00)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="692">@WG-traits</span>, we were planning to talk about chalk-rustc integration on Zoom. It'll be recorded.</p>



<a name="161180274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180274">(Mar 19 2019 at 19:01)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> if you happen to be around, I've been looking through the code and I might have a few questions I could send your way :)</p>



<a name="161180283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180283">(Mar 19 2019 at 19:01)</a>:</h4>
<p>(even if you can't attend, I know this time is bad for ya)</p>



<a name="161180284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180284">(Mar 19 2019 at 19:01)</a>:</h4>
<p>i'll try to take notes live <a href="https://paper.dropbox.com/doc/rustc-chalk-integration-2019-03-19--AZr05~gvKJcPxDMc8DEd~t49Ag-XpBoa06z3iocYFmUWIJuO" target="_blank" title="https://paper.dropbox.com/doc/rustc-chalk-integration-2019-03-19--AZr05~gvKJcPxDMc8DEd~t49Ag-XpBoa06z3iocYFmUWIJuO">here</a></p>



<a name="161180294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180294">(Mar 19 2019 at 19:01)</a>:</h4>
<p>here's the <a href="https://zoom.us/j/927279019" target="_blank" title="https://zoom.us/j/927279019">zoom link</a></p>



<a name="161180420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161180420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161180420">(Mar 19 2019 at 19:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I’m around but I’m on my phone so I don’t think I can use zoom :/</p>



<a name="161187421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187421">(Mar 19 2019 at 20:32)</a>:</h4>
<p>ok <span class="user-mention" data-user-id="131694">@scalexm</span> so we didn't get into it in the call, but I do have some questions</p>



<a name="161187443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187443">(Mar 19 2019 at 20:32)</a>:</h4>
<p>first question, where is the code that tries to iterate towards a fixed point to find the set of "implied bounds"-related rules?</p>



<a name="161187452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187452">(Mar 19 2019 at 20:32)</a>:</h4>
<p>oh, I guess that's part of the <code>environment(def_id)</code> query?</p>



<a name="161187460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187460">(Mar 19 2019 at 20:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> right</p>



<a name="161187464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187464">(Mar 19 2019 at 20:32)</a>:</h4>
<p>Err</p>



<a name="161187466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187466">(Mar 19 2019 at 20:32)</a>:</h4>
<p>also, in terms of starting points for <span class="user-mention" data-user-id="116010">@Aaron Turon</span>, we were thinking during the call that maybe the best thing</p>



<a name="161187469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187469">(Mar 19 2019 at 20:32)</a>:</h4>
<p>No</p>



<a name="161187478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187478">(Mar 19 2019 at 20:32)</a>:</h4>
<p><code>program_clauses_for_environment</code></p>



<a name="161187494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187494">(Mar 19 2019 at 20:33)</a>:</h4>
<p>That’s this one</p>



<a name="161187517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187517">(Mar 19 2019 at 20:33)</a>:</h4>
<p><em>ah</em></p>



<a name="161187523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187523">(Mar 19 2019 at 20:33)</a>:</h4>
<p>I overlooked that</p>



<a name="161187526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187526">(Mar 19 2019 at 20:33)</a>:</h4>
<p>thanks</p>



<a name="161187534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187534">(Mar 19 2019 at 20:33)</a>:</h4>
<blockquote>
<p>also, in terms of starting points for <span class="user-mention silent" data-user-id="116010">Aaron Turon</span>, we were thinking during the call that maybe the best thing</p>
</blockquote>
<p>right, so we were thinking that maybe a good starting point</p>



<a name="161187542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187542">(Mar 19 2019 at 20:33)</a>:</h4>
<p>might be to try and "clone" the current setup for <code>Sized</code> impls</p>



<a name="161187555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187555">(Mar 19 2019 at 20:33)</a>:</h4>
<p>in order to add rules for <code>Clone</code> or <code>Copy</code> or some such thing</p>



<a name="161187612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187612">(Mar 19 2019 at 20:34)</a>:</h4>
<p>i.e., not try to solve the hard problems, but extend the system to try and understand it better, as a starting point</p>



<a name="161187616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187616">(Mar 19 2019 at 20:34)</a>:</h4>
<p>Yes that’d be cool</p>



<a name="161187619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187619">(Mar 19 2019 at 20:34)</a>:</h4>
<p>do you have a suggestion there?</p>



<a name="161187631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187631">(Mar 19 2019 at 20:34)</a>:</h4>
<p>like, is there a specific place you would think is good to start?</p>



<a name="161187634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187634">(Mar 19 2019 at 20:34)</a>:</h4>
<p>I tried to start something like that for <code>Unsize</code> in my fixup PR</p>



<a name="161187660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187660">(Mar 19 2019 at 20:34)</a>:</h4>
<p>I think adding more built-in impls is a good start yes</p>



<a name="161187867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187867">(Mar 19 2019 at 20:37)</a>:</h4>
<p>I was thinking on the call that the current hack around <code>?T: Sized</code> is .. in some ways probably not so bad</p>



<a name="161187879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187879">(Mar 19 2019 at 20:37)</a>:</h4>
<p>We might want to merge that fixup PR btw as I separated some code into multiple modules, I thought it was cleaner at the time I wrote it</p>



<a name="161187882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187882">(Mar 19 2019 at 20:37)</a>:</h4>
<p>we should maybe just try to keep it in mind to make sure we're not violating some core assumption somewhere -- but I think with the current engine it mostly works out ok</p>



<a name="161187891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187891">(Mar 19 2019 at 20:37)</a>:</h4>
<p>but of course we would prefer to reorder our clauses to avoid trying to solve that goal</p>



<a name="161187899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187899">(Mar 19 2019 at 20:37)</a>:</h4>
<p>ok, I just thought of a potential complication :P</p>



<a name="161187968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187968">(Mar 19 2019 at 20:38)</a>:</h4>
<p>but I think we should be able to work <em>something</em> like that into the engine</p>



<a name="161187982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187982">(Mar 19 2019 at 20:38)</a>:</h4>
<blockquote>
<p>We might want to merge that fixup PR btw as I separated some code into multiple modules, I thought it was cleaner at the time I wrote it</p>
</blockquote>
<p>ah ok I was planning to spend a bit of time on the questions you raised, but we could also merge the PR first</p>



<a name="161187986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161187986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161187986">(Mar 19 2019 at 20:38)</a>:</h4>
<p>and worry about the refactorings later</p>



<a name="161188018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188018">(Mar 19 2019 at 20:39)</a>:</h4>
<p>I meant, spend some time on said questions <em>then</em> merge the PR :p</p>



<a name="161188154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188154">(Mar 19 2019 at 20:40)</a>:</h4>
<p>But I believe there was only one question for that PR: how to refactor the unification code to avoid the scopes/variance swap hack</p>



<a name="161188301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188301">(Mar 19 2019 at 20:42)</a>:</h4>
<p>right</p>



<a name="161188309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188309">(Mar 19 2019 at 20:43)</a>:</h4>
<p>that was the main one I wanted to look at</p>



<a name="161188316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188316">(Mar 19 2019 at 20:43)</a>:</h4>
<p>maybe..right now?</p>



<a name="161188406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188406">(Mar 19 2019 at 20:44)</a>:</h4>
<p>I’m going to sleep soon, but if you have some ideas you can write them down somewhere and I’ll have a look tomorrow</p>



<a name="161188641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188641">(Mar 19 2019 at 20:47)</a>:</h4>
<p>Also <span class="user-mention" data-user-id="116009">@nikomatsakis</span> I remember I left a comment in a commit in the fixup PR: <a href="https://github.com/rust-lang/rust/commit/0b60e9dbfb9d379857b433b87f896b84d115b2bc" target="_blank" title="https://github.com/rust-lang/rust/commit/0b60e9dbfb9d379857b433b87f896b84d115b2bc">https://github.com/rust-lang/rust/commit/0b60e9dbfb9d379857b433b87f896b84d115b2bc</a></p>



<a name="161188702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188702">(Mar 19 2019 at 20:48)</a>:</h4>
<p>See the « FIXME » for unsizing to <code>dyn Trait</code></p>



<a name="161188714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188714">(Mar 19 2019 at 20:48)</a>:</h4>
<p>I was wondering if there was a way to correctly handle the higher-ranked binders in a general way</p>



<a name="161188776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188776">(Mar 19 2019 at 20:50)</a>:</h4>
<p>e.g., if you have a rule like this one:</p>
<div class="codehilite"><pre><span></span>forall&lt;‘a, T&gt; { Implemented(T: Unsize&lt;dyn Trait&lt;‘a&gt;&gt;) :- Implemented(T: Trait&lt;‘a&gt;) }
</pre></div>



<a name="161188866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161188866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161188866">(Mar 19 2019 at 20:50)</a>:</h4>
<p>Then I think it won’t handle the case when you want to prove <code>Unsize&lt;for&lt;‘b&gt; dyn Trait&lt;‘b&gt;&gt;</code></p>



<a name="161189108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161189108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161189108">(Mar 19 2019 at 20:54)</a>:</h4>
<p>Or maybe that may work because we would instantiate a placeholder region <code>!'b</code>, and the type <code>dyn Trait&lt;'!b&gt;</code> would then correctly unify with <code>dyn Trait&lt;?’a&gt;</code> in the above rule</p>



<a name="161189918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161189918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161189918">(Mar 19 2019 at 21:04)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I have the whole evening free tomorrow, we could discuss the PR and other things if needed</p>



<a name="161190487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161190487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161190487">(Mar 19 2019 at 21:12)</a>:</h4>
<p>ok, we'll see, my day is fairly booked somehow :) I will at least try to give some feedback early on</p>



<a name="161195113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161195113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161195113">(Mar 19 2019 at 22:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> plausibly i  could sync up with <span class="user-mention" data-user-id="131694">@scalexm</span> tomorrow and get more pointers to get  started?</p>



<a name="161195516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161195516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161195516">(Mar 19 2019 at 22:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116010">@Aaron Turon</span> I was going to suggest the same thing</p>



<a name="161195518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161195518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161195518">(Mar 19 2019 at 22:16)</a>:</h4>
<p><a href="https://youtu.be/MBWtbDifPeU" target="_blank" title="https://youtu.be/MBWtbDifPeU">Video posted</a></p>



<a name="161196290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161196290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161196290">(Mar 19 2019 at 22:26)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> i'll try to  be around early west coast time to catch you here!</p>



<a name="161196687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161196687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161196687">(Mar 19 2019 at 22:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116883">@tmandry</span> lemme know how involved you'd like to be on this initial effort!</p>



<a name="161207453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161207453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161207453">(Mar 20 2019 at 01:38)</a>:</h4>
<p><span class="user-mention" data-user-id="116010">@Aaron Turon</span> hmm, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> mentioned something about adding builtin impls to the system, maybe we can each do some of those to get (re-)oriented in the code? (or maybe they're so trivial it doesn't make sense)</p>



<a name="161207597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161207597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161207597">(Mar 20 2019 at 01:40)</a>:</h4>
<p>beyond that I'd like to help with some tasks, but probably won't be working on this full-time or anything right now</p>



<a name="161259378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161259378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161259378">(Mar 20 2019 at 15:45)</a>:</h4>
<p>(deleted)</p>



<a name="161279247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279247">(Mar 20 2019 at 18:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116883">@tmandry</span> that sounds like a great idea to me!</p>



<a name="161279281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279281">(Mar 20 2019 at 18:48)</a>:</h4>
<p>even if they are "trivial"  i think it's useful as a chance for both of us to dig into the code</p>



<a name="161279462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279462">(Mar 20 2019 at 18:50)</a>:</h4>
<p>ok, great :) I guess whoever gets to it first can pick a few types to add..?</p>



<a name="161279504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279504">(Mar 20 2019 at 18:50)</a>:</h4>
<p>is there a list of builtin impls somewhere?</p>



<a name="161279578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279578">(Mar 20 2019 at 18:51)</a>:</h4>
<p>there  was a "TODO" list in the code <span class="user-mention" data-user-id="116009">@nikomatsakis</span> was pointing at, lemme see if i can find it</p>



<a name="161279581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279581">(Mar 20 2019 at 18:51)</a>:</h4>
<p>and we can divvy :)</p>



<a name="161279750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279750">(Mar 20 2019 at 18:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116883">@tmandry</span> <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context/program_clauses.rs#L400" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context/program_clauses.rs#L400">https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk_context/program_clauses.rs#L400</a></p>



<a name="161279910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279910">(Mar 20 2019 at 18:55)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> so, given the overview that <span class="user-mention" data-user-id="116009">@nikomatsakis</span> provided us yesterday, i think it actually  makes the most sense for <span class="user-mention" data-user-id="116883">@tmandry</span> and i to just try to dive in and ask questions here as we go, if that works ok for you?</p>



<a name="161279954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279954">(Mar 20 2019 at 18:55)</a>:</h4>
<p><span class="user-mention" data-user-id="116883">@tmandry</span> you wanna start with <code>Copy</code>/<code>Clone</code>, and i'll take <code>Sized</code>, and we can go from there?</p>



<a name="161279981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279981">(Mar 20 2019 at 18:55)</a>:</h4>
<p>i don't think these are trivial since each of these "built ins" involves some custom logic</p>



<a name="161279988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161279988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Turon <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161279988">(Mar 20 2019 at 18:55)</a>:</h4>
<p>which we'll have to crib from the old trait system</p>



<a name="161280074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161280074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161280074">(Mar 20 2019 at 18:56)</a>:</h4>
<p><span class="user-mention" data-user-id="116010">@Aaron Turon</span> yes that’s ok!</p>



<a name="161280105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/chalk-rustc%20integration%20discussion/near/161280105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/chalk-rustc.20integration.20discussion.html#161280105">(Mar 20 2019 at 18:57)</a>:</h4>
<p><span class="user-mention" data-user-id="116010">@Aaron Turon</span> sounds good!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>